#pragma once
#include "resource.h"
#include "scene.h"

/**
 * Klasa poziomu gry.
 *
 * @author Krzysztof Klein
 * @version 0.1
 */
class Level : public Resource
{
	Scene* scene;
	SceneNode* playerNode;

public:

	Level();
	virtual ~Level();

	void render();

	Scene* getScene() const { return scene; }
	SceneNode* getPlayerNode() const { return playerNode; }

private:

	/**
	 * Typ zasobu
	 */
	Type getType() const { return Resource::TextureResource; }

	/**
	 * Laduje zasob.
	 */
	virtual bool load();
	/**
	 * ...
	 */
	virtual void unload();


	/**
	 * Sprawdza kolizje.
	 *
	 * @param force Sila dzialajaca na kulke
	 * @return Przesuniecie wynikowe kulki
	 */
	Vector checkPhysics(Vector force);

};